//
//  MFAPMManager.h
//  MFAPMManager
//
//  Created by zhang liyu on 2019/5/22.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

/**
 监控管理类
 */
@class MFAPMConfig;
@interface MFAPMManager : NSObject

#pragma mark - Singleton

/**
 监控管理单例
 */
+ (instancetype)sharedManager;

#pragma mark - Control Property

/**
 是否允许监控 默认是关闭的
 */
@property (nonatomic, readonly, getter=isMonitorEnabled, assign) BOOL monitorEnabled;


/**
 监控配置
 */
@property (nonatomic, strong, readonly) MFAPMConfig *config;

#pragma mark - Monitor Actions

/**
 启动监控
 
 @param userId 当前登陆用户的userId,若传空，则会使用设备的UUID替代
 */
- (void)startMonitorWithUserId:(nullable NSString *)userId;

/**
 停止监控
 */
- (void)stopMonitor;

@end

NS_ASSUME_NONNULL_END
